import http from '@/libs/http'
import wx from 'weixin-js-sdk'
import { Toast } from "vant";

/**
 * 接口注入权限验证配置，在main.js中初始化调用
 */
export default function initWeixinConfig() {
    return http({
        url: "/wx/api/getJsapiTicket",
        method: "get"
    }).then(response => {
        const result = response.data.data
        wx.config({
            debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: result.appId, // 必填，公众号的唯一标识
            timestamp: result.timestamp, // 必填，生成签名的时间戳
            nonceStr: result.nonceStr, // 必填，生成签名的随机串
            signature: result.signature, // 必填，签名，见附录1
            // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
            jsApiList: [
                "onMenuShareTimeline",
                "onMenuShareAppMessage",
                "getLocation"
            ]
        });
    })
}

export function toPay(data) {
    console.log('1：请求预支付交易会话')
    http({
        url: '/wx/pay/createOrder',
        method: 'post',
        data
    }).then((response) => {
        const result = response.data
        console.log(response.data)

        console.log('2：调起微信支付')
        WeixinJSBridge.invoke(
            'getBrandWCPayRequest', {
                "appId": result.appId,
                "timeStamp": result.timeStamp,
                "nonceStr": result.nonceStr,
                "package": result.packageValue,
                "signType": result.signType,
                "paySign": result.paySign
            },
            function (res) {
                console.log('微信支付结果：', res)
                // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回ok，但并不保证它绝对可靠。
                if(res.err_msg == "get_brand_wcpay_request:ok" ) {
                    Toast("支付成功");
                } else if(res.err_msg == "get_brand_wcpay_request:cancel" ) {
                    Toast("用户取消支付");
                }
            }
        );
    })

}



